<?php
class CartaCategoriasController extends AppController
{


    public function index($id = null){
        $this->loadModel("Carta");
        $this->set("cartas", $this->Carta->find('all'));
        $this->set("categorias",array());
        if ($id !=null)
            $this->set("categorias", $this->CartaCategoria->findAllByIdCarta($id));
    }


    public function eliminar($id=null)
    {
        $this->loadModel('CartaCategoria');

        if ($this->CartaCategoria->delete($id)) {

            $this->Session->setFlash('La sección ha sido desasignada de la carta.','infoMessage',array(),'carta');

        }
        else {
            $this->Session->setFlash('La relación carta-sección no ha podido ser guardada.','errorMessage',array(),'carta');

        }
        $this->redirect($this->referer());
    }


    public function addSeccion(){
        if ($this->request->is('post')) {
           // debug($this->request->data);
            $this->loadModel("Categoria");
            $this->Categoria->create();
            if ($this->Categoria->save($this->request->data)) {
                $id = $this->Categoria->getLastInsertID();
                $this->Session->setFlash('La sección ha sido guardada.','infoMessage',array(),'carta');
                $this->CartaCategoria->create();

                $this->CartaCategoria->id_carta = $this->request->data['Categoria']['id_carta'];
                $this->CartaCategoria->id_categoria = $id;
              //  debug($this->CartaCategoria->id_carta);
               // debug($this->CartaCategoria->id_categoria);
                if ($this->CartaCategoria->save($this->CartaCategoria)){
                    $this->Session->setFlash('La sección ha sido asignada a la carta.','infoMessage',array(),'carta');
                }
                else{
                    $this->Session->setFlash('La sección no ha podido ser asignada a la carta.','errorMessage',array(),'carta');
                }


                //$this->redirect(array('controller' => 'pages',  'action' => 'display', 'home'));
            } else {

                $errors = $this->Categoria->invalidFields();
                $error = "";
                //debug($errors['nombre']);
                if (!empty($errors)) $error = $errors['nombre'][0];
                $this->Session->setFlash('La sección no ha podido ser guardada. '.$error,'errorMessage',array(),'carta');
            }
        }

        $this->loadModel("Categoria");
        $this->loadModel("Carta");
        $this->set("cartas", $this->Carta->find("list", array('fields' => array('Carta.nombre_app'))));
        $this->set("categorias",$this->CartaCategoria->find("all"));

    }


    public function add($idCarta=null)
    {

        $this->request->data['CartaCategoria']['id_carta'] = $idCarta;
        ;
       // debug($this->request->data);
        $this->CartaCategoria->create();
        if ($this->CartaCategoria->save($this->request->data)) {
            $this->Session->setFlash('La sección ha sido asignada a la carta.','infoMessage',array(),'carta');
            //$this->redirect(array('controller' => 'pages',  'action' => 'display', 'home'));
        } else {
            $errors = $this->CartaCategoria->invalidFields();
            $this->Session->setFlash('La sección no ha podido ser asignada a la carta. ','errorMessage',array(),'carta');

        }
        $this->redirect($this->referer());




    }
}